#pragma once
/*!
 * \file 
 * UtilPath.h
 */

/*!
 * \brief Providing dialog box which can be selecting a folder
 *
 * class for providing dialog box which can be selecting a folder
 *
 * - header file: UtilPath.h
 * - lib: util.lib
 * - DLL: util.dll
 *
 */
class AFX_EXT_CLASS CUtilPath
{
public:
	CUtilPath(void);	/**< constructor 	*/
	~CUtilPath(void);	/**< destructor 	*/

	BOOL SelectFile(HWND hOwner, TCHAR* lpszFilter, TCHAR* lpszInitDir, TCHAR* lpszPath, BOOL bCreate=FALSE);
	BOOL SelectFolder(HWND hWnd, TCHAR* lpszPath);
	BOOL SelectFolder(HWND hWnd, TCHAR *lpszPath, TCHAR *lpszTitle);
	/*!
	 * Open folder selection dialog and returns folder path
	 * 
	 * @param hWnd a handle to the owner window for the dialog box
	 * @param lptzInitPath Pointer to a null-terminated string that is a path positioned initially
	 * @param lptzTitle Pointer to a null-terminated string that is displayed above the tree view control in the dialog box
	 * @param lptzReturnPath returns a null-terminated string that is a path selected
	 * @param bCreate if TRUE, places a new folder button below the tree view control
	 *
	 */
	BOOL SelectFolder(HWND hWnd, TCHAR *lptzInitPath, TCHAR *lptzTitle, TCHAR *lptzReturnPath, BOOL bCreate = FALSE);

	void RemoveAll(TCHAR* ptzRemPath);
};

